package com.ccnf.core.bean;

import lombok.Data;

/**
 * 响应回页面的数据统一格式
 */
@Data
public class ResponseWithData extends Response {
    /**
     * 响应的内容数据
     */
    private Object data;

    protected ResponseWithData(Object data) {
        this.data = data;
    }

    /**
     * 指定响应状态码和响应数据
     * @param message 响应消息
     * @param data 响应的数据
     */
    protected ResponseWithData(String message, Object data) {
        super(message);
        this.data = data;
    }

    /**
     * 请求成功时返回的数据
     * @param data 响应的数据
     */
    public static ResponseWithData success(Object data) {
        return new ResponseWithData(data);
    }

    /**
     * 请求成功时返回的数据，并可自定义请求成功时返回的消息内容
     * @param message 响应消息
     * @param data 响应的数据
     */
    public static ResponseWithData success(Object data, String message) {
        return new ResponseWithData(message, data);
    }
}